/*
 * Query.cpp
 *
 *  Created on: Nov 21, 2012
 *      Author: federico
 */
#include "Query.h"


Query::Query() {
}

bool Query::setTerminos(vector<string>* terminos) {

	//this->queryVector=queryVector(FileHandler::getInstance()->nTerminos);
	this->queryVector.zeros();

	unsigned int row, gi;
	bool res = false;

	ArchivoTerminos* t = new ArchivoTerminos(string("../" + path + "Terminos.bin").c_str());
	for (unsigned int i = 0; i < terminos->size(); i++) {

		string s = terminos->at(i);
		row = t->getNroTermino(s);
		gi = t->getPesoGlobal(s);

		//No existe el termino en el archivo
		if (gi != -1) {
			res = true;
			queryVector(row)=gi;
		}
	}

	if (!res) {
		generarAlternativas(terminos);
	}

	delete (t);
	return res;
}

vec Query::getQueryVector(){
	return queryVector;
}


bool Query::generarAlternativas(vector<string>* terminos){
	/*TODO:Ver que vamos a hacer en estos casos */
	return true;
}


Query::~Query() {
}

